/**
    算法描述：
    核心问题：
    解决所需数据结构+算法：
**/
#include<cstdio> 
using namespace std;
int n, c, a[110], dp[100010] = {1, 0};
int main() {
    scanf("%d%d", &n, &c);
    for(int i=0; i<n; i++)
        scanf("%d", &a[i]);
    for(int i=0; i<n; i++) {
        for(int k=a[i]; k<=c; k++) {
            dp[k] += dp[k-a[i]];
            dp[k] %= 999983;
        }
    }
    printf("%d\n", dp[c]);
    return 0;
}